// *** ADDED BY HEADER FIXUP ***
#include <wx/event.h>
#include <wx/font.h>
#include <wx/menuitem.h>
#include <wx/window.h>
// *** END ***
/***************************************************************
 * Name:      DialogueHighLightMain.h
 * Purpose:   Defines Application Frame
 * Author:    jacky (248023406@qq.com)
 * Created:   2011-07-11
 * Copyright: jacky (http://weibo.com/sleepiforest)
 * License:
 **************************************************************/

#ifndef DIALOGUEHIGHLIGHTMAIN_H
#define DIALOGUEHIGHLIGHTMAIN_H

//(*Headers(DialogueHighLightFrame)
#include <wx/scrolwin.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
#include <wx/menu.h>
#include <wx/textctrl.h>
#include <wx/panel.h>
#include <wx/filedlg.h>
#include <wx/button.h>
#include <wx/frame.h>
#include <wx/statusbr.h>
//*)
#include "KeyHLPanel.h"
#include "map"
#include "Core.h"
using namespace std;
class DialogueHighLightFrame: public wxFrame
{
    public:

        DialogueHighLightFrame(wxWindow* parent,wxWindowID id = -1);
        void AddRolePanel(KeyHLPanel* pl);
        void DeleteRolePanel(wxCommandEvent& event);
        virtual ~DialogueHighLightFrame();

    private:
        int roleCnt;
        static const int MaxRole = 26;
        map<int,KeyHLPanel*> BnIdToWnd;
        wxFont mainFont;
        LineAnalyser analyser;
        void FitSize();
        void Clear();
        void DeleteRole(int id);
        void ReadRole();
        void SetKeys();
        //(*Handlers(DialogueHighLightFrame)
        void OnQuit(wxCommandEvent& event);
        void OnAbout(wxCommandEvent& event);
        void OnTextCtrl2Text(wxCommandEvent& event);
        void OnTextCtrl1Text(wxCommandEvent& event);
        void OnPanel3Paint(wxPaintEvent& event);
        void OnPanel3Paint1(wxPaintEvent& event);
        void OnButton1Click(wxCommandEvent& event);
        void OnButton2Click(wxCommandEvent& event);
        void OnButton4Click(wxCommandEvent& event);
        void OnButton3Click(wxCommandEvent& event);
        void OnButton5Click(wxCommandEvent& event);
        void OnFontSetting(wxCommandEvent& event);
        //*)
     //   void OnResize(wxEVT_SIZE& event);

        //(*Identifiers(DialogueHighLightFrame)
        static const long ID_STATICTEXT1;
        static const long ID_TEXTCTRL1;
        static const long ID_BUTTON1;
        static const long ID_STATICTEXT2;
        static const long ID_TEXTCTRL2;
        static const long ID_BUTTON2;
        static const long ID_PANEL1;
        static const long ID_BUTTON5;
        static const long ID_BUTTON3;
        static const long ID_PANEL3;
        static const long ID_BUTTON4;
        static const long ID_SCROLLEDWINDOW1;
        static const long idMenuQuit;
        static const long idMenuSetting;
        static const long idMenuAbout;
        static const long ID_STATUSBAR1;
        //*)

        //(*Declarations(DialogueHighLightFrame)
        wxScrolledWindow* RoleContainer;
        wxButton* Button4;
        wxTextCtrl* txInputFile;
        wxStaticText* StaticText2;
        wxFileDialog* targetFileChooser;
        wxMenu* Menu3;
        wxButton* Button1;
        wxPanel* Panel1;
        wxStaticText* StaticText1;
        wxButton* Button2;
        wxPanel* Panel3;
        wxButton* Button5;
        wxMenuItem* MenuItem3;
        wxButton* Button3;
        wxGridSizer* GridSizer1;
        wxStatusBar* StatusBar1;
        wxTextCtrl* txOutputFile;
        wxFileDialog* sourceFileChooser;
        wxMenuBar* MenuBar1;
        //*)

        DECLARE_EVENT_TABLE()
};

#endif // DIALOGUEHIGHLIGHTMAIN_H
